home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tools / falc_uti / dsp_tool / include / f30ssi.inc < prev    next >
Encoding:
Text File  |  1995-11-25  |  1.9 KB  |  77 lines

  1. ;*********************************
  2. ;* Include fuer Falcon SSI-Port  *
  3. ;*********************************
  4.         
  5.             org p:$000c
  6.             jsr datain
  7.             
  8.             org p:$0010
  9.             jsr dataout
  10.             
  11.             org x:$0
  12.             
  13. in_l        dc 1        ;Eingangsdaten linker Kanal
  14. in_ls       dc 1
  15. in_r        dc 1        ;Eingangsdaten rechter Kanal
  16. in_rs       dc 1
  17. out_l       dc 1       ;Ausgangsdaten linker Kanal
  18. out_r       dc 1       ;Ausgangsdaten rechter Kanal
  19. temp        dc 1       ;X0-Save
  20. temp1       dc 1    ;X1-Save
  21. inflag      dc 1       ;links oder rechs lesen
  22. outflag     dc 1       ;links oder rechts schreiben
  23. sync                dc 0       ;Bit 0=1 -> Daten angekommen
  24.  
  25.                     org    p:$40
  26.  
  27. init            MOVEP #$4100,X:$FFEC    ;SSI Control-A
  28.                     MOVEP #$01F8,X:$FFE1    ;Port C auf SSI schalten
  29.                     MOVEP #$F800,x:$FFED  ;SSI Control-B
  30.           MOVEP X:$FFEB,X0
  31.             BTST  #4,X:$FFEE
  32.                 MOVEP #$000001,X:$FFE0
  33.           MOVEP #$3000,X:$FFFF    ;Interrupt-Priority
  34.                     ANDI  #$FC,MR                    ;Interrupts freigeben
  35.                     RTS
  36.             
  37. datain        BSET  #0,X:sync            ;Daten werden empfangen        
  38.                     MOVE  x0,x:temp
  39.                     MOVE  x1,X:temp1
  40.                     JCLR  #0,X:inflag,do_lin
  41. do_rin      move  x:in_r,x1
  42.           move  x1,x:in_rs
  43.           MOVEP X:$FFEF,X1        ;Daten vom SSI
  44.                     MOVE  X1,X:in_r
  45.                     BCLR  #0,X:inflag    
  46.                     MOVE  x:temp,x0
  47.                     MOVE  X:temp1,X1
  48.                     RTI
  49.             
  50. do_lin        move  x:in_l,x1
  51.           move  x1,x:in_ls
  52.           MOVEP X:$FFEF,X0        ;Daten vom SSI
  53.                     MOVE  X0,X:in_l
  54.                     BSET  #0,X:inflag    
  55.                     MOVE  x:temp,x0
  56.                     MOVE  x:temp1,X1
  57.                     RTI
  58.  
  59. dataout        BSET  #1,x:sync            ;Daten werden gesendet
  60.                     MOVE  X0,X:temp
  61.                     MOVE  X1,X:temp1
  62.                     JCLR  #0,X:outflag,do_lout
  63. do_rout        MOVE  X:out_r,X1
  64.                     MOVEP X1,X:$FFEF        ;Daten zum SSI
  65.                     BCLR  #0,X:outflag    
  66.                     MOVE  x0,x:temp
  67.                     MOVE  X:temp1,X1
  68.                     RTI
  69.             
  70. do_lout      MOVE  X:out_l,X0
  71.                     MOVEP X0,X:$FFEF        ;Daten zum SSI
  72.                     BSET  #0,X:outflag    
  73.                     MOVE  x:temp,x0
  74.                     MOVE  X:temp1,X1
  75.                     RTI
  76.  
  77.